이번주는 엑셀을 활용한 실시간 데이터 저장 방식을 실습합니다.
const int TriggerPin = 8;
const int EchoPin = 9;
long Duration = 0;
float Distance;
int i = 1;
unsigned long startTime;
void setup() {
Serial.begin(9600);
pinMode(TriggerPin, OUTPUT);
pinMode(EchoPin, INPUT);
Serial.println("CLEARDATA");
Serial.println("LABEL,No.,Distance(mm)");
startTime = millis();
}
void loop() {
if (millis() - startTime > 60000) {
Serial.println("1분이 경과하여 프로그램을 종료합니다.");
noInterrupts();
while(true);
}
digitalWrite(TriggerPin, HIGH);
delay(15);
digitalWrite(TriggerPin, LOW);
Duration = pulseIn(EchoPin, HIGH);
Distance = (Duration / 2.0) * 0.34;
Serial.print("DATA,");
Serial.print(i++);
Serial.print(",");
Serial.println(Distance);
delay(500);
}
const int TriggerPin = 8;
const int EchoPin = 9;
long Duration = 0;
float Distance;
int i = 1;
unsigned long startTime;
void setup() {
Serial.begin(9600);
pinMode(TriggerPin, OUTPUT);
pinMode(EchoPin, INPUT);
Serial.println("CLEARDATA");
Serial.println("LABEL,No.,Distance");
startTime = millis();
}
void loop() {
if (millis() - startTime > 60000) {
Serial.println("1분이 경과하여 프로그램을 종료합니다.");
noInterrupts();
while(true);
}
digitalWrite(TriggerPin, HIGH);
delay(15);
digitalWrite(TriggerPin, LOW);
Duration = pulseIn(EchoPin, HIGH);
Distance = ((340 * Duration) / 10000) / 2;
Serial.print("DATA,");
Serial.print(i++);
Serial.print(",");
Serial.println(Distance);
delay(500);
}
#include
DFRobot_DHT11 DHT;
#define DHT11_PIN A0
float hum;
float temp;
unsigned long counter = 0;
void setup() {
Serial.begin(9600);
Serial.println("CLEARDATA");
Serial.println("LABEL,Counter,Temp,Humi");
}
void loop() {
DHT.read(DHT11_PIN);
hum = DHT.humidity;
temp = DHT.temperature;
counter++;
Serial.print("DATA,");
Serial.print(counter);
Serial.print(",");
Serial.print(temp);
Serial.print(",");
Serial.println(hum);
delay(1000);
}